package com.example.excelimporter.service;

import com.example.excelimporter.model.ImportStatistics;
import java.util.List;
import java.util.Map;

public interface ImportStatisticsService {
    /**
     * Get statistics for a specific template
     * @param templateId The template ID
     * @return List of statistics for the template
     */
    List<ImportStatistics> getStatisticsByTemplateId(String templateId);

    /**
     * Get statistics for a specific target table
     * @param targetTable The target table name
     * @return List of statistics for the table
     */
    List<ImportStatistics> getStatisticsByTargetTable(String targetTable);

    /**
     * Get statistics for a specific template and table combination
     * @param templateId The template ID
     * @param targetTable The target table name
     * @return List of statistics for the template-table combination
     */
    List<ImportStatistics> getStatisticsByTemplateAndTable(String templateId, String targetTable);

    /**
     * Get aggregated statistics for a template and table combination
     * @param templateId The template ID
     * @param targetTable The target table name
     * @return Map containing aggregated statistics
     */
    Map<String, Object> getAggregatedStatistics(String templateId, String targetTable);

    /**
     * Get trend analysis for a template and table combination over a specified period
     * @param templateId The template ID
     * @param targetTable The target table name
     * @param days Number of days to analyze
     * @return Map containing trend analysis data
     */
    Map<String, Object> getTrendAnalysis(String templateId, String targetTable, int days);
} 